ClearImage 7 Help
Java Development
Send Feedback

Glossary Item Box

ClearImage COM is integrated with Java suing Java-to-COM bridge.  Bridges are available from several sources:JawinJCom, Jacob Project, J-Integra and EZJCOM.

The following example demonstrates use with Jawin bridge.

Barcode Recognition in Java with Jawin Bridge Copy Code
import org.jawin.COMException;
import org.jawin.win32.Ole32;
import java.io.*;
import myProject.jawin.EBoolean;
import myProject.jawin.ICiBarcodePro;
import myProject.jawin.ICiBarcodes;
import myProject.jawin.ICiServer;
public class BarcodeReader 
  {
  public static void readFile (String fileName) throws COMException
    {
    Ole32.CoInitialize();
    ICiServer ciServer = new ICiServer("ClearImage.ClearImage");
    ICiBarcodePro reader = ciServer.CreateBarcodePro();
    reader.getImage().Open(filename, 1);
    reader.setAutoDetect1D(EBoolean.ciTrue);
    reader.Find(0);
    ICiBarcodes barcodes = reader.getBarcodes();
    int count = barcodes.getCount();
    for(int i=0; i<count; i++) 
      { 
      System.out.println(barcodes.getItem(i).getText());
      }
    System.gc(); 
    }
  }

The following example demonstrates use with Jacob bridge.

Barcode Recognition in Java with Jacob bridge Copy Code
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import java.io.*;
public class BarcodeReader 
  {
  static ActiveXComponent ci = null;
  static Dispatch image = null;
  static Dispatch reader = null;
  public static void readFile (String fileName) 
    {
    ComThread.InitSTA();
    ci = new ActiveXComponent("ClearImage.ClearImage");
    try
      {
      image = ci.invoke("CreateImage").toDispatch();
      reader = ci.invoke("CreateBarcodePro").toDispatch();
      Dispatch.put(reader, "Image", image);
      Dispatch.put(reader, "AutoDetect1D", new Integer(65535)); // ciTrue = 65535
      //Dispatch.put(reader, "Directions", new Integer(1)); // cibHorz = 1
      //Dispatch.put(reader, "Type", new Integer(2)); // cibfCode39 = 2
      Object[] args = new Object[2];
      args[0] = fileName;
      args[1] = new Integer(1); // page 1
      Dispatch.call(image, "Open", args[0], args[1]);
      Dispatch.call(reader, "Find");
      Dispatch barcodes = Dispatch.get(reader, "Barcodes").toDispatch();
      int count = Dispatch.get(barcodes, "Count").toInt();
      for(int i=1; i<=count; i++) 
        {
        index[0] = new Integer(i);
        Dispatch barcode = Dispatch.invoke(barcodes, "Item", Dispatch.Get, index, new int[1]).toDispatch();
        System.out.println(Dispatch.get(barcode, "Text").toString());
        }
      System.gc();
      }
    catch (Exception e) 
      {
      e.printStackTrace();
      } 
    finally
      {
      Dispatch.call(image, "Close");
      ComThread.Release();
      }
    }
  }
© 2007-2011. Inlite Research, Inc. All Rights Reserved.